导出主题 (Theme)

在为应用程序创建主题后,您需要从应用程序的 Kanzi Studio 工程将主题 (Theme) 导出到 kzb 文件,并将其部署到您的目标设备。Kanzi 提供两种主要方法,以在您的应用程序中使用 主题 (Theme):非烘培和烘培 主题 (Theme)。您可以组合这些方法来获得所需的结果。

非烘培 主题 (Theme)

Kanzi Studio 中,当为非烘培主题 (Theme) 导出 kzb 文件时,Kanzi Studio 在该 kzb 文件中包括该工程中所有 主题 (Theme) 的资源。节点使用资源 ID 获得当前选定主题 (Theme) 的资源。当您将应用程序设置为使用非烘培主题 (Theme)Kanzi 将更改资源 ID 所指的资源。

非烘培主题 (Theme) 所需目标设备的存储容量比烘培主题 (Theme) 更少,但在运行时使用内存更多。使用非烘培主题 (Theme) 时,您可以更改应用程序主题 (Theme),无需加载其他 kzb 文件。

请参阅 导出非烘培主题 (Theme)导出含主题 (Theme) 资源包的非烘培主题 (Theme)

烘培主题 (Theme)

Kanzi Studio 中,当为烘培主题 (Theme) 导出 kzb 文件,Kanzi Studio 将工程中所有节点的各资源 ID 替换为资源 ID 所指的资源。在烘培主题 (Theme) 中,节点不使用资源 ID 获得资源,而是直接获得资源。

烘培主题 (Theme) 所需目标设备的存储容量比非烘培主题 (Theme) 更多,但具有更佳的性能,并且在运行时使用内存更少。使用烘培主题 (Theme) 时,您仅可在加载其他 kzb 文件后更改应用程序主题 (Theme)

请参阅 导出烘培 主题 (Theme)导出含主题 (Theme) 资源包的烘培主题组 (Theme Group) 项

选择适当的方法

通过使用烘培、非烘培或结合这两种方法的 主题 (Theme),您可以为应用程序制定主题,以更好地适应应用程序目的和目标设备的容量。

本主题中的这些过程显示了可以用于导出已制定主题工程的不同配置。所有程序都是基于名为 Cluster 的样本工程,它有两个主题组 (Theme Group) 项,其中每个主题组 (Theme Group) 有两个主题 (Theme)

导出非烘培主题 (Theme)

当您的目标设备有足够的存储容量和内容以适应整个应用程序(包括所有主题 (Theme) 中使用的资源)时,以及当您要在不加载其他 kzb 文件的情况下更改应用程序主题时使用方法。请参阅 非烘培 主题 (Theme)

要导出非烘培 主题 (Theme)

  1. 素材库 (Library) > 主题 (Theme) 中双击各主题组 (Theme Group) 并在主题编辑器 (Theme Editor) 中确保所有主题 (Theme) 都已禁用主题 (Theme) 资源导出。
    启用主题 (Theme) 资源导出时,主题 (Theme) 列中的 图标变为蓝色Kanzi Studio 导出主题 (Theme) 中使用的资源。
    例如,在 VariantColor 主题组 (Theme Group) 项中,确保所有 主题 (Theme) 已禁用 主题 (Theme) 资源。
    建议

    如果在 主题编辑器 (Theme Editor) 中没有看到 主题 (Theme) 列的 图标,在 素材库 (Library) > 主题 (Theme) 中选择 主题组 (Theme Group) 并在 属性 (Properties) 中禁用 导出烘培的用途 (Export Baked Usages) 属性。



  2. 选择文件 (File) > 导出 (Export) > 导出 KZB (Export KZB)

    Kanzi Studio 为所有 主题组 (Theme Group) 项中的所有 主题 (Theme) 创建一个 kzb 文件,其中包括应用程序场景图和资源,并将 kzb 文件导出到 <ProjectName>/Application/bin 目录。将此文件部署到您的目标设备。

导出烘培 主题 (Theme)

使用方法优化您的应用程序使用单个 主题 (Theme),以便能在存储容量或内容非常有限的目标设备上运行。当您使用方法并且要更改应用程序主题时,需要关闭应用程序,并使用包含要运行该应用程序的烘培 主题 (Theme) 的 kzb 文件启动它。请参阅烘培主题 (Theme)

要导出烘培主题 (Theme)

  1. 素材库 (Library) > 主题 (Theme) 中选择包含要烘培的 主题 (Theme)主题组 (Theme Group) 项,并在 属性 (Properties) 中启用 导出烘培的用途 (Export Baked Usages) 属性。
    例如,在素材库 (Library) > 主题 (Theme) 中选择 ColorVariant 主题组 (Theme Group) 项,并在 属性 (Properties) 中启用 导出烘培的用途 (Export Baked Usages) 属性。
  2. 选择文件 (File) > 导出 (Export) > 导出烘培的主题二进制 (Export Baked Theme Binaries) 并在导出时要烘培主题和地区 (Themes and Locales to Bake on Export) 窗口中设置:

    点击导出 (Export)

    Kanzi Studio 为每个在导出时要烘培主题和地区 (Themes and Locales to Bake on Export) 窗口中选择的主题 (Theme) 创建一个 kzb 文件,并为每个主题组 (Theme Group)主题 (Theme) 组合将 kzb 文件导出到 <ProjectName>/Application/bin/<ThemeGroupName>=<ThemeName> 目录。每个 kzb 文件包含该主题 (Theme) 的应用程序场景图和烘培资源。仅向您的设备部署含要使用的主题 (Theme)主题 (Theme) 组合的 kzb 文件。

导出含主题 (Theme) 资源包的非烘培主题 (Theme)

主题 (Theme) 包是只包含所选主题 (Theme) 的资源的 kzb 文件。 当目标设备上的存储空间或内存有限,但您又想在运行时更改应用程序主题,则可使用这种方法,避免加载额外的 kzb 文件。例如,通过方法,您可以从一个 Kanzi Studio 工程为两个汽车车型(SportSUV)创建应用程序,其中各有两个 主题 (Theme)BlueRed),您可以无需加载其他 kzb 文件在其中进行切换。

要导出含主题 (Theme) 资源包的非烘培主题 (Theme)

  1. 素材库 (Library) > 主题 (Theme) 中选择包含用于创建 主题 (Theme) 资源包的 主题 (Theme)主题组 (Theme Group) 项,并在 属性 (Properties) 中禁用 导出烘培的用途 (Export Baked Usages) 属性。
    例如,在素材库 (Library) > 主题 (Theme) 中选择Variant 主题组 (Theme Group) 并在属性 (Properties) 中禁用导出烘培的用途 (Export Baked Usages) 属性。
  2. 素材库 (Library) > 主题 (Theme) 中双击各 主题组 (Theme Group),在主题编辑器 (Theme Editor) 中点击要导出资源到主题 (Theme) 资源包的主题 (Theme) 名称旁的
    要将 主题组 (Theme Group) 默认资源导出到 主题 (Theme) 资源包中,点击 默认值 (Default Value) 列旁边的
    启用主题 (Theme) 资源导出时,主题 (Theme) 列中的 图标变为蓝色Kanzi Studio 导出主题 (Theme) 中使用的资源。
    例如,在Variant 主题组 (Theme Group) 中为 SportSUV 主题 (Theme) 启用导出。在本例中,通过设置为两种汽车车型(SportSUV)创建应用程序,其中每个都有两个主题 (Theme)BlueRed),您可以无需加载其他 kzb 文件在其中进行切换。
  3. 选择文件 (File) > 导出 (Export) > 导出 KZB (Export KZB)

    Kanzi Studio创建:

导出含主题 (Theme) 资源包的烘培主题组 (Theme Group)

当您要创建具有一组特定烘培主题 (Theme)的应用程序时,就可以使用方法。您烘培那些在汽车车型中不会改变的主题 (Theme)。例如,通过方法可以从一个 Kanzi Studio 工程创建可以部署至两个汽车车型的应用程序(SportSUV):因为您不想在汽车中切换汽车车型,烘培 Variant 主题组 (Theme Group),但不烘培 Color 主题组 (Theme Group),以便能在汽车中更改颜色。在本例中,您将 Color 主题 (Theme) 存储为 主题 (Theme) 资源包,只能在加载含 主题 (Theme) 资源的 kzb 文件后切换颜色 主题 (Theme)

本示例是导出烘培主题 (Theme) 和含主题 (Theme) 资源包的非烘培主题 (Theme) 的组合。请参阅 导出烘培 主题 (Theme)导出含主题 (Theme) 资源包的非烘培主题 (Theme)

要导出含主题 (Theme) 资源包的烘培主题组 (Theme Group)

  1. 素材库 (Library) > 主题 (Theme) 选择您要为烘培其中资源的 主题组 (Theme Group) 项,并在属性 (Properties) 中启用导出烘培的用途 (Export Baked Usages) 属性。
    例如,在素材库 (Library) > 主题 (Theme) 中选择 Variant 主题组 (Theme Group) 并在属性 (Properties) 中启用 导出烘培的用途 (Export Baked Usages) 属性。
  2. 素材库 (Library) > 主题 (Theme) 中选择要作为非烘培导出的主题组 (Theme Group),在属性 (Properties) 中禁用导出烘培的用途 (Export Baked Usages) 属性,在主题编辑器 (Theme Editor) 中点击要将资源作为主题 (Theme) 资源包导出的主题 (Theme) 名称旁的
    要将 主题组 (Theme Group) 默认资源导出到 主题 (Theme) 资源包中,点击 默认值 (Default Value) 列旁边的
    启用主题 (Theme) 资源导出时,主题 (Theme) 列中的 图标变为蓝色Kanzi Studio 导出主题 (Theme) 中使用的资源。
    例如,在Color 主题组 (Theme Group) 中为 BlueRed 主题 (Theme) 启用导出。
  3. 选择文件 (File) > 导出 (Export) > 导出烘培的主题二进制 (Export Baked Theme Binaries) 并在导出时要烘培主题和地区 (Themes and Locales to Bake on Export) 窗口中设置:点击导出 (Export)

    Kanzi Studio<ProjectName>/Application/bin 中为每个 主题组 (Theme Group) 和包含如下内容的 主题 (Theme) 组合创建一个目录:

删除导出的文件

导出主题 (Theme) 时,您可以快速处理大量文件和目录。要永久移除从工程导出的所有 kzb 文件,选择文件 (File) > 导出 (Export) > 删除导出的二进制 (Delete Exported Binaries)

另请参阅

教程:为应用程序制定主题

为应用程序制定主题

使用主题 (Theme)

为工程中的多个目标设备设置二进制着色器